package org.opengauss.datachecker.extract.data.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.opengauss.datachecker.common.entry.extract.ColumnsMetaData;
import org.opengauss.datachecker.common.entry.extract.PrimaryColumnBean;
import org.opengauss.datachecker.common.entry.extract.TableMetadata;
import org.opengauss.datachecker.common.entry.common.DataAccessParam;

import java.util.List;

/**
 * SqlServerMetaDataMapper
 *
 * 这是一个用于 SQL Server 数据库的 MyBatis 映射器接口。
 * 它继承自 MetaDataMapper，并包含针对 SQL Server 数据库的特定操作方法。
 *
 */
@Mapper
public interface SqlServerMetaDataMapper extends MetaDataMapper {

    // /**
    //  * 查询表的列元数据
    //  * @param schema schema 名称
    //  * @param tableName 表名称
    //  * @return 列元数据列表
    //  */
    // List<ColumnsMetaData> queryTableColumnsMetaData(String schema, String tableName);

    // /**
    //  * 查询表的元数据
    //  * @param schema schema 名称
    //  * @param tableName 表名称
    //  * @return 表元数据
    //  */
    // TableMetadata queryTableMetadata(String schema, String tableName);

    // /**
    //  * 查询表的主键列
    //  * @param schema schema 名称
    //  * @param tableName 表名称
    //  * @return 主键列列表
    //  */
    // List<PrimaryColumnBean> queryTablePrimaryColumnsByTableName(String schema, String tableName);

    // /**
    //  * 查询数据库是否为空
    //  * @param schema schema 名称
    //  * @return 如果数据库为空返回 true，否则返回 false
    //  */
    // boolean checkDatabaseNotEmpty(String schema);

    // /**
    //  * 获取下一个值
    //  * @param param 数据访问参数
    //  * @return 下一个值
    //  */
    // String next(DataAccessParam param);
    
    // /**
    //  * 获取表的行数
    //  * @param schema schema 名称
    //  * @param tableName 表名称
    //  * @return 行数
    //  */
    // long rowCount(String schema, String tableName);
}
